
class ProjectMessManagerM {
  ProjectMessManagerM({
      dynamic requestNo, 
      int? code, 
      String? message, 
      Records? records, 
      dynamic total,}){
    _requestNo = requestNo;
    _code = code;
    _message = message;
    _records = records;
    _total = total;
}

  ProjectMessManagerM.fromJson(dynamic json) {
    _requestNo = json['requestNo'];
    _code = json['code'];
    _message = json['message'];
    _records = json['records'] != null ? Records.fromJson(json['records']) : null;
    _total = json['total'];
  }
  dynamic _requestNo;
  int? _code;
  String? _message;
  Records? _records;
  dynamic _total;
ProjectMessManagerM copyWith({  dynamic requestNo,
  int? code,
  String? message,
  Records? records,
  dynamic total,
}) => ProjectMessManagerM(  requestNo: requestNo ?? _requestNo,
  code: code ?? _code,
  message: message ?? _message,
  records: records ?? _records,
  total: total ?? _total,
);
  dynamic get requestNo => _requestNo;
  int? get code => _code;
  String? get message => _message;
  Records? get records => _records;
  dynamic get total => _total;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['requestNo'] = _requestNo;
    map['code'] = _code;
    map['message'] = _message;
    if (_records != null) {
      map['records'] = _records?.toJson();
    }
    map['total'] = _total;
    return map;
  }

}


class Records {
  Records({
      int? total, 
      List<ProjectMessManagerRecords>? records,
      int? startStateCount, 
      int? finishStateCount, 
      int? stopStateCount, 
      int? perfectCount, 
      int? isNewBatchCount, 
      int? finishNoCheckCount, 
      Condition? condition,}){
    _total = total;
    _records = records;
    _startStateCount = startStateCount;
    _finishStateCount = finishStateCount;
    _stopStateCount = stopStateCount;
    _perfectCount = perfectCount;
    _isNewBatchCount = isNewBatchCount;
    _finishNoCheckCount = finishNoCheckCount;
    _condition = condition;
}

  Records.fromJson(dynamic json) {
    _total = json['total'];
    if (json['records'] != null) {
      _records = [];
      json['records'].forEach((v) {
        _records?.add(ProjectMessManagerRecords.fromJson(v));
      });
    }
    _startStateCount = json['startStateCount'];
    _finishStateCount = json['finishStateCount'];
    _stopStateCount = json['stopStateCount'];
    _perfectCount = json['perfectCount'];
    _isNewBatchCount = json['isNewBatchCount'];
    _finishNoCheckCount = json['finishNoCheckCount'];
    _condition = json['condition'] != null ? Condition.fromJson(json['condition']) : null;
  }
  int? _total;
  List<ProjectMessManagerRecords>? _records;
  int? _startStateCount;
  int? _finishStateCount;
  int? _stopStateCount;
  int? _perfectCount;
  int? _isNewBatchCount;
  int? _finishNoCheckCount;
  Condition? _condition;
Records copyWith({  int? total,
  List<ProjectMessManagerRecords>? records,
  int? startStateCount,
  int? finishStateCount,
  int? stopStateCount,
  int? perfectCount,
  int? isNewBatchCount,
  int? finishNoCheckCount,
  Condition? condition,
}) => Records(  total: total ?? _total,
  records: records ?? _records,
  startStateCount: startStateCount ?? _startStateCount,
  finishStateCount: finishStateCount ?? _finishStateCount,
  stopStateCount: stopStateCount ?? _stopStateCount,
  perfectCount: perfectCount ?? _perfectCount,
  isNewBatchCount: isNewBatchCount ?? _isNewBatchCount,
  finishNoCheckCount: finishNoCheckCount ?? _finishNoCheckCount,
  condition: condition ?? _condition,
);
  int? get total => _total;
  List<ProjectMessManagerRecords>? get records => _records;
  int? get startStateCount => _startStateCount;
  int? get finishStateCount => _finishStateCount;
  int? get stopStateCount => _stopStateCount;
  int? get perfectCount => _perfectCount;
  int? get isNewBatchCount => _isNewBatchCount;
  int? get finishNoCheckCount => _finishNoCheckCount;
  Condition? get condition => _condition;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['total'] = _total;
    if (_records != null) {
      map['records'] = _records?.map((v) => v.toJson()).toList();
    }
    map['startStateCount'] = _startStateCount;
    map['finishStateCount'] = _finishStateCount;
    map['stopStateCount'] = _stopStateCount;
    map['perfectCount'] = _perfectCount;
    map['isNewBatchCount'] = _isNewBatchCount;
    map['finishNoCheckCount'] = _finishNoCheckCount;
    if (_condition != null) {
      map['condition'] = _condition?.toJson();
    }
    return map;
  }

}

/// current : 1
/// size : 20
/// isCheckStatus : 0

class Condition {
  Condition({
      int? current, 
      int? size, 
      int? isCheckStatus,}){
    _current = current;
    _size = size;
    _isCheckStatus = isCheckStatus;
}

  Condition.fromJson(dynamic json) {
    _current = json['current'];
    _size = json['size'];
    _isCheckStatus = json['isCheckStatus'];
  }
  int? _current;
  int? _size;
  int? _isCheckStatus;
Condition copyWith({  int? current,
  int? size,
  int? isCheckStatus,
}) => Condition(  current: current ?? _current,
  size: size ?? _size,
  isCheckStatus: isCheckStatus ?? _isCheckStatus,
);
  int? get current => _current;
  int? get size => _size;
  int? get isCheckStatus => _isCheckStatus;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['current'] = _current;
    map['size'] = _size;
    map['isCheckStatus'] = _isCheckStatus;
    return map;
  }

}

/// id : 12381
/// name : "国泰紫荆园二期"
/// state : 0
/// stateUrl : null
/// stateResason : null
/// checkStatus : 0
/// type : 3
/// areaDivide : "410184"
/// superviseCountyName : null
/// superviseCityName : null
/// superviseProvinceName : null
/// projectCountyName : "新郑市"
/// projectCityName : "郑州市"
/// projectProvinceName : "河南省"
/// moneySource : 2
/// source : "人工创建"
/// createTime : "2022-08-30 11:06:21"
/// workGroupCount : 0
/// laborCount : null
/// constructionUnitId : 6625086
/// constructionUnitName : "新郑市国泰紫荆园置业有限公司"
/// generalContractorEnterpriseId : 6625941
/// generalContractorEnterpriseName : "河南阳飞建筑工程有限公司"
/// superviseUnitId : 6625332
/// superviseUnitName : "新郑市建设工程监理公司"
/// constructionUnitLeader : "张召辉"
/// constructionUnitLeaderMobile : "19639019855"
/// superviseUnitManager : "范广林"
/// superviseUnitManagerMobile : "13592551358"
/// laborManager : "解西营"
/// laborManagerMobile : "18903821151"
/// isNewBatch : 0
/// constructionPermit : "410184202208170101"
/// isHaveDevice : "0"
/// isOnline : null
/// serialNumber : null
/// constructionDirector : "金红学"
/// constructionDirectorPhone : "13839682798"
/// adminPhone : null

class ProjectMessManagerRecords {
  ProjectMessManagerRecords({
      int? id, 
      String? name, 
      int? state, 
      dynamic stateUrl, 
      dynamic stateResason,
    int? checkStatus,
      int? type, 
      String? areaDivide, 
      dynamic superviseCountyName, 
      dynamic superviseCityName, 
      dynamic superviseProvinceName, 
      String? projectCountyName, 
      String? projectCityName, 
      String? projectProvinceName, 
      int? moneySource, 
      String? source, 
      String? createTime, 
      int? workGroupCount, 
      dynamic laborCount, 
      int? constructionUnitId, 
      String? constructionUnitName, 
      int? generalContractorEnterpriseId, 
      String? generalContractorEnterpriseName, 
      int? superviseUnitId, 
      String? superviseUnitName, 
      String? constructionUnitLeader, 
      String? constructionUnitLeaderMobile, 
      String? superviseUnitManager, 
      String? superviseUnitManagerMobile, 
      String? laborManager, 
      String? laborManagerMobile, 
      int? isNewBatch, 
      String? constructionPermit, 
      String? isHaveDevice, 
      dynamic isOnline, 
      dynamic serialNumber, 
      String? constructionDirector, 
      String? constructionDirectorPhone, 
      dynamic adminPhone,}){
    _id = id;
    _name = name;
    _state = state;
    _stateUrl = stateUrl;
    _stateResason = stateResason;
    _checkStatus = checkStatus;
    _type = type;
    _areaDivide = areaDivide;
    _superviseCountyName = superviseCountyName;
    _superviseCityName = superviseCityName;
    _superviseProvinceName = superviseProvinceName;
    _projectCountyName = projectCountyName;
    _projectCityName = projectCityName;
    _projectProvinceName = projectProvinceName;
    _moneySource = moneySource;
    _source = source;
    _createTime = createTime;
    _workGroupCount = workGroupCount;
    _laborCount = laborCount;
    _constructionUnitId = constructionUnitId;
    _constructionUnitName = constructionUnitName;
    _generalContractorEnterpriseId = generalContractorEnterpriseId;
    _generalContractorEnterpriseName = generalContractorEnterpriseName;
    _superviseUnitId = superviseUnitId;
    _superviseUnitName = superviseUnitName;
    _constructionUnitLeader = constructionUnitLeader;
    _constructionUnitLeaderMobile = constructionUnitLeaderMobile;
    _superviseUnitManager = superviseUnitManager;
    _superviseUnitManagerMobile = superviseUnitManagerMobile;
    _laborManager = laborManager;
    _laborManagerMobile = laborManagerMobile;
    _isNewBatch = isNewBatch;
    _constructionPermit = constructionPermit;
    _isHaveDevice = isHaveDevice;
    _isOnline = isOnline;
    _serialNumber = serialNumber;
    _constructionDirector = constructionDirector;
    _constructionDirectorPhone = constructionDirectorPhone;
    _adminPhone = adminPhone;
}

  ProjectMessManagerRecords.fromJson(dynamic json) {
    _id = json['id'];
    _name = json['name'];
    _state = json['state'];
    _stateUrl = json['stateUrl'];
    _stateResason = json['stateResason'];
    _checkStatus = json['checkStatus'];
    _type = json['type'];
    _areaDivide = json['areaDivide'];
    _superviseCountyName = json['superviseCountyName'];
    _superviseCityName = json['superviseCityName'];
    _superviseProvinceName = json['superviseProvinceName'];
    _projectCountyName = json['projectCountyName'];
    _projectCityName = json['projectCityName'];
    _projectProvinceName = json['projectProvinceName'];
    _moneySource = json['moneySource'];
    _source = json['source'];
    _createTime = json['createTime'];
    _workGroupCount = json['workGroupCount'];
    _laborCount = json['laborCount'];
    _constructionUnitId = json['constructionUnitId'];
    _constructionUnitName = json['constructionUnitName'];
    _generalContractorEnterpriseId = json['generalContractorEnterpriseId'];
    _generalContractorEnterpriseName = json['generalContractorEnterpriseName'];
    _superviseUnitId = json['superviseUnitId'];
    _superviseUnitName = json['superviseUnitName'];
    _constructionUnitLeader = json['constructionUnitLeader'];
    _constructionUnitLeaderMobile = json['constructionUnitLeaderMobile'];
    _superviseUnitManager = json['superviseUnitManager'];
    _superviseUnitManagerMobile = json['superviseUnitManagerMobile'];
    _laborManager = json['laborManager'];
    _laborManagerMobile = json['laborManagerMobile'];
    _isNewBatch = json['isNewBatch'];
    _constructionPermit = json['constructionPermit'];
    _isHaveDevice = json['isHaveDevice'];
    _isOnline = json['isOnline'];
    _serialNumber = json['serialNumber'];
    _constructionDirector = json['constructionDirector'];
    _constructionDirectorPhone = json['constructionDirectorPhone'];
    _adminPhone = json['adminPhone'];
  }
  int? _id;
  String? _name;
  int? _state;
  dynamic _stateUrl;
  dynamic _stateResason;
  int? _checkStatus;
  int? _type;
  String? _areaDivide;
  dynamic _superviseCountyName;
  dynamic _superviseCityName;
  dynamic _superviseProvinceName;
  String? _projectCountyName;
  String? _projectCityName;
  String? _projectProvinceName;
  int? _moneySource;
  String? _source;
  String? _createTime;
  int? _workGroupCount;
  dynamic _laborCount;
  int? _constructionUnitId;
  String? _constructionUnitName;
  int? _generalContractorEnterpriseId;
  String? _generalContractorEnterpriseName;
  int? _superviseUnitId;
  String? _superviseUnitName;
  String? _constructionUnitLeader;
  String? _constructionUnitLeaderMobile;
  String? _superviseUnitManager;
  String? _superviseUnitManagerMobile;
  String? _laborManager;
  String? _laborManagerMobile;
  int? _isNewBatch;
  String? _constructionPermit;
  String? _isHaveDevice;
  dynamic _isOnline;
  dynamic _serialNumber;
  String? _constructionDirector;
  String? _constructionDirectorPhone;
  dynamic _adminPhone;
  ProjectMessManagerRecords copyWith({  int? id,
  String? name,
  int? state,
  dynamic stateUrl,
  dynamic stateResason,
  int? checkStatus,
  int? type,
  String? areaDivide,
  dynamic superviseCountyName,
  dynamic superviseCityName,
  dynamic superviseProvinceName,
  String? projectCountyName,
  String? projectCityName,
  String? projectProvinceName,
  int? moneySource,
  String? source,
  String? createTime,
  int? workGroupCount,
  dynamic laborCount,
  int? constructionUnitId,
  String? constructionUnitName,
  int? generalContractorEnterpriseId,
  String? generalContractorEnterpriseName,
  int? superviseUnitId,
  String? superviseUnitName,
  String? constructionUnitLeader,
  String? constructionUnitLeaderMobile,
  String? superviseUnitManager,
  String? superviseUnitManagerMobile,
  String? laborManager,
  String? laborManagerMobile,
  int? isNewBatch,
  String? constructionPermit,
  String? isHaveDevice,
  dynamic isOnline,
  dynamic serialNumber,
  String? constructionDirector,
  String? constructionDirectorPhone,
  dynamic adminPhone,
}) => ProjectMessManagerRecords(  id: id ?? _id,
  name: name ?? _name,
  state: state ?? _state,
  stateUrl: stateUrl ?? _stateUrl,
  stateResason: stateResason ?? _stateResason,
  checkStatus: checkStatus ?? _checkStatus,
  type: type ?? _type,
  areaDivide: areaDivide ?? _areaDivide,
  superviseCountyName: superviseCountyName ?? _superviseCountyName,
  superviseCityName: superviseCityName ?? _superviseCityName,
  superviseProvinceName: superviseProvinceName ?? _superviseProvinceName,
  projectCountyName: projectCountyName ?? _projectCountyName,
  projectCityName: projectCityName ?? _projectCityName,
  projectProvinceName: projectProvinceName ?? _projectProvinceName,
  moneySource: moneySource ?? _moneySource,
  source: source ?? _source,
  createTime: createTime ?? _createTime,
  workGroupCount: workGroupCount ?? _workGroupCount,
  laborCount: laborCount ?? _laborCount,
  constructionUnitId: constructionUnitId ?? _constructionUnitId,
  constructionUnitName: constructionUnitName ?? _constructionUnitName,
  generalContractorEnterpriseId: generalContractorEnterpriseId ?? _generalContractorEnterpriseId,
  generalContractorEnterpriseName: generalContractorEnterpriseName ?? _generalContractorEnterpriseName,
  superviseUnitId: superviseUnitId ?? _superviseUnitId,
  superviseUnitName: superviseUnitName ?? _superviseUnitName,
  constructionUnitLeader: constructionUnitLeader ?? _constructionUnitLeader,
  constructionUnitLeaderMobile: constructionUnitLeaderMobile ?? _constructionUnitLeaderMobile,
  superviseUnitManager: superviseUnitManager ?? _superviseUnitManager,
  superviseUnitManagerMobile: superviseUnitManagerMobile ?? _superviseUnitManagerMobile,
  laborManager: laborManager ?? _laborManager,
  laborManagerMobile: laborManagerMobile ?? _laborManagerMobile,
  isNewBatch: isNewBatch ?? _isNewBatch,
  constructionPermit: constructionPermit ?? _constructionPermit,
  isHaveDevice: isHaveDevice ?? _isHaveDevice,
  isOnline: isOnline ?? _isOnline,
  serialNumber: serialNumber ?? _serialNumber,
  constructionDirector: constructionDirector ?? _constructionDirector,
  constructionDirectorPhone: constructionDirectorPhone ?? _constructionDirectorPhone,
  adminPhone: adminPhone ?? _adminPhone,
);
  int? get id => _id;
  String? get name => _name;
  int? get state => _state;
  dynamic get stateUrl => _stateUrl;
  dynamic get stateResason => _stateResason;
  int? get checkStatus => _checkStatus;
  int? get type => _type;
  String? get areaDivide => _areaDivide;
  dynamic get superviseCountyName => _superviseCountyName;
  dynamic get superviseCityName => _superviseCityName;
  dynamic get superviseProvinceName => _superviseProvinceName;
  String? get projectCountyName => _projectCountyName;
  String? get projectCityName => _projectCityName;
  String? get projectProvinceName => _projectProvinceName;
  int? get moneySource => _moneySource;
  String? get source => _source;
  String? get createTime => _createTime;
  int? get workGroupCount => _workGroupCount;
  dynamic get laborCount => _laborCount;
  int? get constructionUnitId => _constructionUnitId;
  String? get constructionUnitName => _constructionUnitName;
  int? get generalContractorEnterpriseId => _generalContractorEnterpriseId;
  String? get generalContractorEnterpriseName => _generalContractorEnterpriseName;
  int? get superviseUnitId => _superviseUnitId;
  String? get superviseUnitName => _superviseUnitName;
  String? get constructionUnitLeader => _constructionUnitLeader;
  String? get constructionUnitLeaderMobile => _constructionUnitLeaderMobile;
  String? get superviseUnitManager => _superviseUnitManager;
  String? get superviseUnitManagerMobile => _superviseUnitManagerMobile;
  String? get laborManager => _laborManager;
  String? get laborManagerMobile => _laborManagerMobile;
  int? get isNewBatch => _isNewBatch;
  String? get constructionPermit => _constructionPermit;
  String? get isHaveDevice => _isHaveDevice;
  dynamic get isOnline => _isOnline;
  dynamic get serialNumber => _serialNumber;
  String? get constructionDirector => _constructionDirector;
  String? get constructionDirectorPhone => _constructionDirectorPhone;
  dynamic get adminPhone => _adminPhone;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['id'] = _id;
    map['name'] = _name;
    map['state'] = _state;
    map['stateUrl'] = _stateUrl;
    map['stateResason'] = _stateResason;
    map['checkStatus'] = _checkStatus;
    map['type'] = _type;
    map['areaDivide'] = _areaDivide;
    map['superviseCountyName'] = _superviseCountyName;
    map['superviseCityName'] = _superviseCityName;
    map['superviseProvinceName'] = _superviseProvinceName;
    map['projectCountyName'] = _projectCountyName;
    map['projectCityName'] = _projectCityName;
    map['projectProvinceName'] = _projectProvinceName;
    map['moneySource'] = _moneySource;
    map['source'] = _source;
    map['createTime'] = _createTime;
    map['workGroupCount'] = _workGroupCount;
    map['laborCount'] = _laborCount;
    map['constructionUnitId'] = _constructionUnitId;
    map['constructionUnitName'] = _constructionUnitName;
    map['generalContractorEnterpriseId'] = _generalContractorEnterpriseId;
    map['generalContractorEnterpriseName'] = _generalContractorEnterpriseName;
    map['superviseUnitId'] = _superviseUnitId;
    map['superviseUnitName'] = _superviseUnitName;
    map['constructionUnitLeader'] = _constructionUnitLeader;
    map['constructionUnitLeaderMobile'] = _constructionUnitLeaderMobile;
    map['superviseUnitManager'] = _superviseUnitManager;
    map['superviseUnitManagerMobile'] = _superviseUnitManagerMobile;
    map['laborManager'] = _laborManager;
    map['laborManagerMobile'] = _laborManagerMobile;
    map['isNewBatch'] = _isNewBatch;
    map['constructionPermit'] = _constructionPermit;
    map['isHaveDevice'] = _isHaveDevice;
    map['isOnline'] = _isOnline;
    map['serialNumber'] = _serialNumber;
    map['constructionDirector'] = _constructionDirector;
    map['constructionDirectorPhone'] = _constructionDirectorPhone;
    map['adminPhone'] = _adminPhone;
    return map;
  }

}